- 公開日:
- 更新日:
ExcelのIF関数とCOUNT関数を組み合わせて条件に合う個数を返す
Excel(エクセル)のIF関数はいろいろな関数と組み合わせることで力を発揮します。今回はCOUNT関数と組み合わせることで条件に合ったセルの個数を数えてみましょう。
条件に合ったセルの個数を数える場合、他にはCOUNTIF関数を使う方法があります。数式もIF関数とCOUNT関数を組み合わせるより短くなるのでおすすめです。合わせてご紹介しています。
IF関数とは?
IF(イフ)関数は、論理式の結果(真また偽)に応じて、指定された値を返します。
IF関数の書式は「=IF(論理式,値が真の場合,[値が偽の場合])」のように記述します。引数については下記の記事で図解入りで説明していますのでご確認ください。
ExcelのIF関数の使い方|論理式の条件(IF文)によって処理を分岐
COUNT関数とは?
COUNT(カウント)関数とは、指定された範囲内の数値を含むセルの個数を数えます。
COUNT関数の書式は、「=COUNT(値1, 値2, ..., 値255)」のように記述します。値には個数を求めたい数値や日付、時刻を指定します。引数は最大255個まで指定可能です。
COUNT関数では文字列を含むセルは数えることができませんのでご注意ください。文字列の入ったセルを数える場合は「COUNTA関数」を使用します。
COUNT関数に関連する関数
COUNT関数に関連する関数を以下に表でまとめてみました。COUNT関数以外にもいろいろあります。
関数名 | 説明 | 分類 |
---|---|---|
COUNTIF | 指定された範囲に含まれるセルのうち、検索条件に一致するセルの個数を返します | 統計 |
COUNTA | 範囲内の、空白でないセルの個数を返します | 統計 |
COUNTIFS | 特定の条件に一致するセルの個数を返します | 統計 |
COUNTBLANK | 範囲に含まれる空白セルの個数を返します | 統計 |
DCOUNT | データベースの指定された列を検索し、条件を満たすレコードの中で数値が入力されているセルの個数を返します | データベース |
DCOUNTA | 条件を満たすレコードの中で空白でないセルの個数を返します | データベース |
IF関数とCOUNT関数を組み合わせて条件に合う個数を返す方法
IF関数とCOUNT関数を組み合わせて条件に合うセルの個数を出力する方法をご説明します。

COUNT関数を入力する【セル(例ではE2セル)】を選択し、セルに『=COUNT(』と入力します。

COUNT関数の引数にIF関数を入れ子にします。B2セルが80点以上かどうか判定します。「=COUNT(」に続いて『IF(B2>=80,』と入力します。
B2セルが80点以上の場合、数字の「1」を指定します。「=COUNT(IF(B2>=80,」に続いて『1,』と入力します。COUNT関数は数値を含むセルの個数を数えるので「1」以外の他の数値でも構いません。

B2セルが80点以上ではない場合、「空白」を指定します。「=COUNT(IF(B2>=80,1,」に続いて『””),』と入力します。

同じようにIF関数でC列、D列を判定します。「=COUNT(IF(B2>=80,1,””),」に続いて『IF(C2>=80,1,””),IF(D2>=80,1,””))』と入力し、【Enter】を押します。

入力したCOUNT関数とIF関数を他のセルにも適用したい場合、関数を入力したセルの右下にマウスポインターを置き、十字アイコンになったら反映させたいセルまで【ドラッグ】します。

他のセルにもIF関数とCOUNT関数を組み合わせた数式がコピーされました。80点以上の科目がいくつあるかE列に出力されています。
COUNTIF関数を使って条件に合う個数を返す
IF関数とCOUNT関数を組み合わせることでも条件に合うセルの個数を数えることができます。ただ項目の数が多くなると数式が長くなってしまうデメリットがあります。
IF関数とCOUNT関数を組み合わせた関数が「COUNTIF関数」です。COUNTIF関数を使えば数式も短く済みます。実際にCOUNTIF関数を使ってみましょう。

①COUNTIF関数を入力したい【セル(例ではE2セル)】を選択し、②数式バーに『=COUNTIF(B2:D2,">=80")』を入力します。

オートフィルでD列の他のセルに反映させると、80点以上の科目がいくつあるかE列に出力されました。

IF関数とCOUNT関数を組み合わせた数式とCOUNTIF関数の数式を見比べてみましょう。COUNTIF関数では、範囲を指定できることもあり数式がすっきりしています。
- =COUNT(IF(B2>=80,1,""),IF(C2>=80,1,""),IF(D2>=80,1,""))
- =COUNTIF(B2:D2,">=80")
普通に条件に合うセルの個数を数える場合はCOUNTIF関数の方が便利ですが、セルを数える対象にするかどうか複雑な条件を付ける場合はIF関数とCOUNT関数を組み合わせる方法も活用できます。
もっとCOUNTIF関数の使い方を知りたい方は下記の記事で詳しくご紹介していますのでご覧ください。